<?
function show_chapters($chapters, $level){
    foreach($chapters as $chapter){
        $id = Arr::get($chapter, 'id', 0);
        $hide = (Arr::get($chapter, 'hide') == 'hide') ? 'class="hide"':'';
        $padding_left = 'style="padding-left:'.($level*30 + 10).'px;"';
        echo "<tr $hide>
                <td></td>
                <td $padding_left><b>{$chapter['name']}</b>
                    <a href=\"{$chapter['href']}\" target=\"_blank\">{$chapter['href']}</a>
                </td>
                <td>
                    <a href=\"#\" chapter_id=\"$id\" class=\"add action\" title=\"Добавить раздел\">+</a>
                    <a href=\"/admin/chapter/up?id=$id\" class=\"action\" title=\"Поднять раздел\">&uarr;</a>
                    <a href=\"/admin/chapter/down?id=$id\" class=\"action\" title=\"Опустить раздел\">&darr;</a>                    
                    <a href=\"/admin/chapter/hide?id=$id\" title=\"Скрыть/отобразить раздел в меню\">hide/show</a>
                    <a href=\"#\" chapter_id=\"$id\" class=\"edit\" title=\"Редактировать\">edit</a>
                    <a href=\"/admin/chapter/delete?id=$id\" title=\"Удалить\">delete</a>                    
                </td>
              </tr>";
        if(isset($chapter['subchapters'])){
            echo show_chapters($chapter['subchapters'], $level + 1);    
        }
    }
}
?>

<div id="chapter_box" class="gradient">
    <input type="text" value="Название" name="name"/>
    <input type="text" value="Ссылка" name="href"/>
    <input type="hidden" name="action">
    <input type="hidden" name="id">    
    <div class="loader">
    </div>
    <div class="error">               
    </div>
</div>

<table>
    <tr><th><a class="add action" href="#" chapter_id="0">+</a></th>
        <th>Разделы сайта</th>
        <th style="width:180px">Действия</th>
    </tr>
    <? show_chapters($chapters, 0); ?> 
</table>
<!--
<p>С выделенными:
   <select style="width:100px; margin-left: 10px;">
       <option value="hide">Удалить</option>
   </select>
</p>
-->

<script type="text/javascript">
    $(document).ready(function(){
        $('.edit').bind('click', function(){
            id = $(this).attr('chapter_id');
            
            $('#chapter_box').hide();
            $('#chapter_box').css('top', $(this).position().top - 32);
            $('#chapter_box').css('left', parseInt($(document).width() - $('#chapter_box').width()) / 2);           
            $('#chapter_box input[name=id]').val(id);
            $('#chapter_box input[name=action]').val('/admin/chapter/save');
            
            $.ajax({'url':'/admin/chapter/get',
                    'type':'POST',
                    'data':{'id':id},
                    'success':function(k){
                        response = eval("(" + k + ")");
                        $('#chapter_box input[name=name]').val(response.name);
                        $('#chapter_box input[name=href]').val(response.href);
                        $('#chapter_box').fadeIn();
                    },
                    'error':function(){
                        alert('Ошибка');
                    }
            });           
            return false;
        });
        
        $('.add').bind('click', function(){
            id = $(this).attr('chapter_id');
            
            $('#chapter_box').hide();
            $('#chapter_box').css('top', $(this).position().top - 32);
            $('#chapter_box').css('left', parseInt($(document).width() - $('#chapter_box').width()) / 2);           
            
            $('#chapter_box input[name=name]').val($('#chapter_box input[name=name]').attr('hint'));
            $('#chapter_box input[name=href]').val($('#chapter_box input[name=href]').attr('hint')); 
            $('#chapter_box input[name=id]').val(id);
            $('#chapter_box input[name=action]').val('/admin/chapter/add');          
            
            $('#chapter_box').fadeIn();
            return false;
        }); 
        
        $(document).bind('keydown', function(e){
            if(e.keyCode == 27 && $('#chapter_box:visible').size())
                $('#chapter_box').fadeOut();            
        });
        
        $('#chapter_box input').each(function(){
            $(this).attr('hint', $(this).attr('value'));
        }); 
        
        $('#chapter_box input').bind('focus', function(){
            if($(this).val() == $(this).attr('hint')){
                $(this).val('');
                $(this).addClass('value');
            }
        });    
    
        $('#chapter_box input').bind('blur', function(){
            if($(this).val() == ''){         
                $(this).val($(this).attr('hint'));
                $(this).removeClass('value');
            }
        });
        
        $('#chapter_box input').bind('keydown', function(e){
            if(e.keyCode == 13){
                data = {};
                data['name'] = $('#chapter_box input[name=name]').val();
                data['href'] = $('#chapter_box input[name=href]').val();                
                if($('#chapter_box input[name=action]').val() == '/admin/chapter/add')
                    data['parent_id'] = $('#chapter_box input[name=id]').val();
                else
                    data['id'] = $('#chapter_box input[name=id]').val();
                
                $('#chapter_box .loader').show();
                $.ajax({'url':$('#chapter_box input[name=action]').val(),
                        'type':'POST',
                        'data':data,
                        'timeout':5000,
                        'success':function(k){
                            response = eval("(" + k + ")");
                            if(response.status == 'ok')
                                window.location.reload();
                            else
                                alert('Ошибка!');
                       },
                       'error':function(){
                            alert('Ошибка!');
                       },
                       'complete':function(){
                            $('#chapter_box .loader').hide();
                       }
                       
                });
            }
        });
        
    });
</script>